package com.college.products.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.college.common.pojo.ao.Collection;
import com.college.common.pojo.dto.products.AddCollectionDTO;
import com.college.common.pojo.dto.products.QueryCollectionDTO;
import com.college.common.pojo.dto.products.UpdateCollectionDTO;
import com.college.common.pojo.model.page.PageParamRequest;
import com.college.common.response.CommonResult;

import java.util.List;

/**
 * 收藏 服务类
 * @author 小C工作室
 * @since 2025-02-22
 */
public interface CollectionService extends IService<Collection> {

    /**
     * 获取收藏集合
     *
     * @param queryCollectionDTO 查询对象
     * @return 收藏集合
     */
    List<Collection> queryList(QueryCollectionDTO queryCollectionDTO);

    /**
     * 获取收藏集合分页
     *
     * @param queryCollectionDTO 查询对象
     * @param pageParamRequest 分页对象
     * @return 收藏集合
     */
    List<Collection> queryListPage(QueryCollectionDTO queryCollectionDTO, PageParamRequest pageParamRequest);

    /**
     * 新增收藏
     *
     * @param addCollectionDTO 新增收藏对象
     * @return 是否成功
     */
    CommonResult<String> addCollection(AddCollectionDTO addCollectionDTO);

    /**
     * 更新收藏
     *
     * @param updateCollectionDTO 更新收藏对象
     * @return 是否成功
     */
    CommonResult<String> updateCollection(UpdateCollectionDTO updateCollectionDTO);
}
